package com.qm.chp05arr;
// 在 Java 中，如果给出一个完整的限定名，包括包名、类名，那么 Java 编译器就可以很容易地定位到源代码或者类。
// import 语句就是用来提供一个合理的路径，使得编译器可以找到某个类。
import java.util.Arrays;

/**
 * @author wb
 * @date 20230610 16:45
 * @description: 数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据，按照一定的先后次序排列组合而成
 *               一个班的成绩..
 * 
 *               1、 数组的好处：数组里的每个元素都有编号，编号从0开始，并且一次递增，方便操作其中的元素。
 *               2、 要在程序中使用数组，就必须要声明数组，再给数组分配内存。
 *               3、 数组对应在内存中一段连续空间。
 *               4、 数组元素必须是相同数据类型，可以是引用数据类型，但是同一个数组中的元素必须 是同一类数据类型。
 */
public class MyArr1 {
    public static void main(String[] args) {
        // 语法规范
        // 数据类型[] 数组名 = new 数据类型[数量]
        // 数据类型[] 数组名 = new 数据类型[]{元素,元素,元素}
        // 数据类型[] 数组名 = {元素,元素,元素}

        // 数据类型 数组名[] = new 数据类型[数量]
        // 数据类型 数组名[] = new 数据类型[]{元素,元素,元素}
        // 数据类型 数组名[] = {元素,元素,元素}

        // 动态初始化
        // 等号左边：
        // int:数组的数据类型 []:代表这是一个数组 arr:代表数组的名称
        // 等号右边：
        // new:为数组开辟内存空间 int:数组的数据类型 []:代表这是一个数组 10:代表数组的长度
        int[] anArray2 = new int[10];
        // 静态初始化
        int anOtherArray2[] = new int[] { 1, 2, 3, 4, 5 };
        int[] anArray3 = { 1, 2, 3, 4, 5 };
        System.out.println(anArray2[0] = 10);
        varargsMethod("11", "22");
    }

    // 传递参数形成的数组
    static void varargsMethod(String... varargs) {
        System.out.println(Arrays.toString(varargs));
    }

}
